package com.jming.yygh.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jming.yygh.model.user.UserInfo;
import com.jming.yygh.vo.user.LoginVo;
import com.jming.yygh.vo.user.UserAuthVo;
import com.jming.yygh.vo.user.UserInfoQueryVo;

import java.util.Map;

/**
 * @author jming
 * @version 0.0.1
 * @date 2021/05/08
 */
public interface UserInfoService extends IService<UserInfo> {

    /**
     * 用户登录接口
     *
     * @param loginVo 用户信息
     * @return Result 登录结果
     */
    Map<String, Object> loginUser(LoginVo loginVo);

    UserInfo selectWxInfoOpenId(String openid);

    /**
     * 用户认证接口
     *
     * @param userId     用户id
     * @param userAuthVo userAuthVo对象
     * @return Result
     */
    void userAuth(Long userId, UserAuthVo userAuthVo);

    /**
     * 条件查询带分页的用户列表
     *
     * @return Result
     */
    IPage<UserInfo> selectPage(Page<UserInfo> pageparam, UserInfoQueryVo userInfoQueryVo);

    void lock(Long userId, Integer status);

    /**
     * 根据用户id查看用户详情信息
     * @param userId
     * @return Result
     */
    Map<String, Object> show(Long userId);

    /**
     * 用户审批列表
     * @param userId
     * @param authStatus
     */
    void approvar(Long userId, Integer authStatus);

}
